/**
 *	@file	bc_use_3d.h
 *	@brief	ボンジュース使用シーケンス 3Dヘッダ
 *	@author	Miyuki Iwasawa
 *	@date	09.01.15
 */

#ifndef __H_BC_USE_3D_H__
#define __H_BC_USE_3D_H__

#include "system/particle.h"
#include "ptcl_bong_use.h"

typedef struct _BC_USE_POKE{
	POKEMON_PARAM*	pp;	///<丸ごと
	u16	monsno;		///<ポケモンNo
	u8	level;		///<ポケモンのレベル
	u8	sex;		///<ポケモンの性別
	u8	idx;		///<並び順
	u8	flip;		///<フリップフラグ
	STRBUF*	name;	///<ポケモンのニックネーム

	PM_CONDITION	pc;
	PM_PERFORMANCE	prm;
	PM_PERFORMANCE_BASE base;

}BC_USE_POKE;

typedef struct _BC_USE_3D{
	int				heapID;
	GF_G3DMAN*		man;	//g3dマネージャー
	GF_CAMERA_PTR	camera;
	void*			ssm;

	SOFT_SPRITE_ARC	ssa;	///<ソフトウェアスプライト
	SOFT_SPRITE	* ss;
	PTC_PTR		ptc;
}BC_USE_3D;

/**
 *	@brief	3D関連初期化
 */
extern BC_USE_3D* BongUse3D_Init(int heapID);
extern void BongUse3D_Main(BC_USE_3D* wk);
extern void BongUse3D_Release(BC_USE_3D* wk);
extern void BongUse3D_VBlank(BC_USE_3D* wk);

extern void BongUse3D_PokeAdd(BC_USE_3D* wk,BC_USE_POKE* poke);
extern void BongUse3D_PokeDel(BC_USE_3D* wk);

extern void BongUse3D_ParticleEmitterAdd(BC_USE_3D* wk,int spr_id);
extern BOOL BongUse3D_ParticleEmitterIsActive(BC_USE_3D* wk);

#endif	//__H_BC_USE_3D_H__